package module.auth;

import network.protocol.Response;

/**
 * 用户服务接口
 * 提供用户注册、登录、密码修改及邮箱相关操作
 */
public interface UserService {

    /**
     * 用户注册
     */
    Response<?> doRegister(String username, String password, Integer role, String email,
                           String phone, String realName, Boolean gender, String avatar);

    /**
     * 用户登录
     */
    Response<?> doLogin(String sessionId, String username, String password);

    /**
     * 修改密码（已知原始密码）
     */
    Response<?> doChangePassword(String username, String origin_pw, String new_pw);

    /**
     * 发送验证码到邮箱
     */
    Response<?> SendEmail(String email);

    /**
     * 通过邮箱修改密码
     */
    Response<?> ChangePassword(String email, String pw);

    /**
     * 校验密码或验证码
     */
    Response<?> CheckPassword(String pw, String send_pw);
}
